Implicitly Associating Metadata Using User Behavior

ABSTRACT

Social media networking applications, web sites, and services creates implicit relationships between users based on their interest or participation in real-world and optionally virtual or online activities in addition to explicitly defined peer relationships. User profiles, activity entities, and expressions may be associated with metadata to assist in searching and navigation. Metadata is implicitly associated with user profiles, activity entities, expressions, or other data entities based on user behavior using metadata collector. A metadata collector is a poll, survey, list, questionnaire, census, test, game, or other type of presentation adapted to solicit user interaction. A metadata collector is associated with metadata elements. When users interact with a metadata collector, their user profiles and the data entities included in their interactions become associated with the metadata elements of the metadata collector. These metadata element associations may then be used for any purpose.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 60/948,588, filed Jul. 9, 2007, which is incorporated by referenceherein for all purposes.

BACKGROUND

This invention relates to the field of social media networking servicesand online communities. Social media networking web sites have becomevery popular in recent years, especially with the youth and college-agedemographics. Social media networking web sites allow users to createprofiles describing themselves. Users can then create relationshipsbetween their profiles and those of their friends, classmates, andcolleagues. Typical social media networking web sites allow users toutilize these relationship-based connections to keep in touch withfriends, find new friends, network for career opportunities, sharemedia, carry on discussions around topics and shared media, and to showsocial capital by accumulating appreciation from, or relationships with,other users.

Although social media networking web sites are useful for communicatingand sharing resources with peers, typical social media networking websites have limited facilities for user engagement. Typically, socialmedia networking web site content is limited to viewing other users'profiles, text comments, and contributed audio-visual media. Userengagement is limited to acquiring relationships with users, browsinguser-contributed media, and conversing with peers via theserelationships about shared media. There have been few applications ofsocial media networking web sites other than as a communications andsimple self-expression system. As a result of their limited uses, manypotential users, especially adult users, find reduced value in socialmedia networking web sites.

Many users are attracted to social media networking web sites becauseonline profiles give users the opportunity to create a noteworthy onlineidentity and stand out from the crowd. User profiles on typical socialmedia networking web sites allow users to describe their interests ingeneral terms. Users can also create freeform journal or blog entriesdiscussing their activities and interests. However, users' onlineidentities are fixed to the social media networking web site and cannotbe utilized on other web sites or online services.

Additionally, these types of user profiles do not provide any structurefor continued engagement and interaction with the social medianetworking web site. Many users create an initial profile and thenrarely update it. Thus, many social media networking web sites havelarge numbers of stagnant virtual communities filled with rarely updateduser profiles and passive users. Typical social media networkingwebsites have few incentives in place to encourage user participationand interaction.

Additionally, social media networking web sites have had difficultydemanding premium advertising rates. Despite having large numbers ofusers, most social media networking web sites know very little about thedemographics, psychographics, personal interests, and consumptionbehavior of their users apart from their age, home location, gender, andsimple declarations of hobbies present on their profile pages.Advertisements precisely targeted at narrowly defined groups ormicro-communities (such as golfers, independent music fans, wine lovers,etc.) are generally much more effective than untargeted advertisements,and thus can command substantially higher fees from advertisers. Becauseof the dearth of information about user interests and intent on typicalsocial media networking web sites, it is difficult for these socialmedia networking web sites to offer the type of targeted advertisingdesired by advertisers.

Moreover, social media networking web sites often feature large amountsof user-generated (as opposed to professionally produced) content.Advertisers are reluctant to purchase advertising shown in conjunctionwith user-generated content, because the user-generated content maycreate brand conflicts. The content may be offensive to the targetaudience or disparaging to the product or brand. To overcome thisreluctance, some social media networking web sites use humans to reviewand approve user-generated content as safe for advertising. Because ofthe large volume of user-generated content created by social medianetworking and social media web sites with hundreds of thousands ormillions of users, using human reviewers is time consuming andexpensive, making it very impractical. The delay between the timeuser-generated content is submitted and when it is approved foradvertising often means that user-generated content is “stale” by thetime it is ready to accept advertisements. Moreover, advertisers missthe opportunity to reach users attracted by new or topicaluser-generated content.

There is a need for a social media networking service that providesadditional uses besides profile networking, user communications andsimple multimedia sharing to engage a wider range of increasinglysophisticated users. There is a need for a social networking servicethat is useful when accessed from personal computers as well as mobiledevices such as cellular phones. There is a need for a social medianetworking service to provide richer and more detailed user profiles andto provide incentives to users to build and maintain their onlineidentities. There is also a need for a social media networking serviceto enable users to export their online identities to other web sites andservices.

There is also a need for a social media networking service to collectdetailed demographic, behavioral, experiential, and interest informationfrom its users to enhance their experience and to provide opportunitiesfor targeted advertisements. There is a need to accurately classify andintegrate user-generated content into the social media networking website. There is also a need for social media networking sites toautomatically recognize communities users of common interests, both forenhancing user interactions and for advertising purposes. There is aneed for a social media networking service to enable advertisers tointeract with users and large amounts of user-generated content whilereducing the cost and delays normally associated with the review andapproval of user-generated content and alleviating the concerns aboutbrand conflicts.

SUMMARY

An embodiment of the invention includes social media networkingapplications, web sites, and services that creates implicitrelationships between users based on their interest or participation inreal-world and optionally virtual or online activities in addition toexplicitly defined peer relationships. These interest-based andactivity-based relationships can be used to determine detaileddemographic information about users and to predict and/or recommendother activities of interest to users. Users can generate and uploadcontent pertaining to activities, referred to as expressions, to thesocial media networking service provide additional demographicinformation and enrich the content of the social media networkingservice.

User profiles, activity entities, and expressions may be associated withmetadata to assist in searching and navigation. An embodiment of theinvention collects and implicitly associates metadata with userprofiles, activity entities, expressions, or other data entities basedon user behavior. Metadata collector and associated metadata elementsare defined. A metadata collector is a poll, survey, list,questionnaire, census, test, game, or other type of presentation adaptedto solicit user interaction. In an embodiment, a metadata collector isassociated with one or more metadata elements. When users interact witha metadata collector, their user profiles and the data entities includedin their interactions become associated with the metadata elements ofthe metadata collector. These metadata element associations may then beused for any purpose.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the drawings, inwhich:

FIG. 1 illustrates functions of a social media networking applicationand service according to an embodiment of the invention;

FIG. 2 illustrates a method of selecting and updating user activitiesaccording to an embodiment of the invention;

FIG. 3 illustrates an example badge adapted to encourage user engagementwith the social media networking service according to an embodiment ofthe invention;

FIG. 4 illustrates a graph of data elements and associated graphrelationships according to an embodiment of the invention;

FIG. 5 illustrates a method of accurately classifying and hyperlinkinguser-generated content according to an embodiment of the invention;

FIG. 6 illustrates example scopes for searching and navigating socialmedia networking content according to an embodiment of the invention;

FIG. 7 illustrates a method of efficiently selecting user-generatedcontent for review according to an embodiment of the invention;

FIG. 8 illustrates a method for implicitly associating metadata withdata entities according to an embodiment of the invention;

FIG. 9 illustrates an example indicator comparing user interestsaccording to an embodiment of the invention;

FIG. 10 illustrates an example identity mosaic badge illustrating userinterests according to an embodiment of the invention;

FIG. 11 illustrates an example system architecture suitable forimplementing an embodiment of the invention; and

FIG. 12 illustrates an example computer system suitable for use with anembodiment of the invention.

DETAILED DESCRIPTION

An embodiment of the invention includes social media networkingapplications, web sites, and services that creates implicitrelationships between users based on their interest or participation inreal-world and optionally virtual or online activities in addition toexplicitly defined peer relationships. These interest-based andactivity-based relationships can be used to determine detaileddemographic information about users and to predict and/or recommendother activities of interest to users. Users can generate and uploadcontent pertaining to activities, referred to as expressions, to thesocial media networking service provide additional demographicinformation and enrich the content of the social media networkingservice. Users receive recognition for the activities completed and forcreating expressions by both the system and other users of theapplication. This recognition increases user engagement with the socialmedia networking service by encouraging participation in furtheractivities and creating additional expressions. Advertisers can analyzethe detailed demographic data generated from the record of useractivities to precisely target advertising to narrow interest groups.Advertisers can also sponsor activities, users, and expressions thatmeet their criteria.

FIG. 1 illustrates a social media networking application and service 100according to an embodiment of the invention. In an embodiment, thesocial media networking service 100 is based around at least fourdifferent entities 105: users profiles 110, activity entities 115,expressions 120, and expression recognitions 125. User profiles 110 arecreated by users to describe themselves to other users of the socialmedia networking service 100. User profiles 110 can include userprovided or selected content such as biographical information, personalinterests, photos, video, music, multimedia content, themes, articles,journal entries, web logs or blogs, hyperlinks or hypertext, or anyother type information capable of being represented in an electronicform. User profiles 110 can also include relationships with other userprofiles 110, representing peer relationships such as friends,classmates, or colleagues.

Embodiments of the invention may allow user profiles 110 to be stronglyassociated with users' actual identities. In these embodiments, a userestablishes his or her identity via an association with a mobile deviceaccount, such as a mobile phone or wireless internet access account, viaan e-mail account with strong association with user identity, such as auniversity or corporate e-mail account, or any other type ofauthentication service.

Activity entities 115 arc a second type of entity in this embodiment ofthe social media networking service 100. Activity entities 115 are dataentities that represent virtual or real-world activities. Examples ofactivity entities 115 include real-world locations, experiences, events,and accomplishments. Some activity entities 115 may be tied to aspecific time, place, and/or event or may be independent of one or moreof these criteria. Specific examples of activity entities 115 includebut are not limited to books to be read; food or drinks to be tried;bands to see in concert; movies to see; places to visit; trails to hike;people to meet; sports activities to participate in or watch;restaurants, bars, museums, or stores to visit; and personal goals toaccomplish. Activity entities 115 can also include interesting orwhimsical experiences, such as sky-diving, eating toro sushi in 10different restaurants, or wearing a clown suit to work. Activityentities 115 may or may not be associated with a specific real-worldlocation and/or time.

Activity entities 115 can be generated by the social media networkingservice 100, by users of the social media networking service 100, and bysponsors or advertisers. Activity entities 115 can also include multipleparts or objectives, each of which may be considered as a separateactivity entity. For example, a basic skateboarding skills activitycould include a set of basic skateboarding tricks as objectives, each ofwhich is itself a separate activity entity. Completion of all of theseskateboarding tricks leads to completion of the aggregate basicskateboarding skills activity entity. Activity entities 115 can benested into any arbitrary number of levels of sub-activity entities 115.Moreover, the parts or sub-activity entities 115 in an activity entityneed not be exclusive. For example, a first activity to hike the tenbest hikes in the San Francisco Bay Area might contain sub-activityentities 115 for each hike, while a second activity to hike the ten besthikes in California may include some or all of the sub-activity entities115 of the first activity. Additionally, an activity may require thatsub-activity entities 115 be completed in a specific order to completethe main activity, or may allow users to complete its sub-activityentities 115 in any order.

As discussed in detail below, users can select activity entities 115that interest them (or create and select their own activity entities115) and add them to one or more personal activity lists associated withtheir profile. Users can also publish their activity lists. Activitylists can be published or distributed to groups of interested users, forexample using a social networking service website or a social networkingapplication on users' mobile devices, or to other web sites or online oroffline media, for example using content syndication protocols or otherforms of communication. Users can later indicate to the social medianetworking service 100 that they have completed their selected activityentities 115.

Expressions 120 are a third type of entity in this embodiment of thesocial media networking service 100. Expressions 120 includeuser-generated content associated with one or more activity entities115. User-generated content can include text, reviews, photos, video,audio or music, multimedia content, themes, articles, journal entries,web logs or blogs, hyperlinks or hypertext, or any other typeinformation capable of being represented in an electronic form.Expressions 120 may be elicited from users using review or surveyquestions associated with an activity or may be focused on any arbitrarysubject selected by users.

Expressions 120 can serve a variety of purposes in embodiments of thesocial media networking service 100. A user can provide expressions 120to rate or review a particular activity. These expressions 120 can thenbe used to recommend additional activity entities 115 to this user aswell as refine activity recommendations to similar users. A user canprovide an expression to assist other users in completing or enjoying anactivity. For example, an expression for a hiking trail could include aphoto of a trail junction and text indicating the correct direction tofollow. In another example, an expression for a restaurant activitycould include a recommendation for a particular menu item. A user canprovide an expression to share their experiences in completing theactivity with other users. For example, an expression for a hikingactivity could include a user's photograph of a scenic vista, a video ofnative animals, or an interesting or amusing anecdote about theirexperience during the hike.

Expression recognitions 125 are a fourth type of entity in thisembodiment of the invention. Expression recognitions 125 allow one userto call attention to or to reward other users or their expressions 120for their contributions to the social media networking service 100.Users may give expression recognition because they enjoyed viewing auser's expression, they found the user's expression useful, or for anyother reason. User's can view their expression recognitions 125, whichincludes expression recognitions 125 directed at their expressions 120as well as to themselves.

User profiles 110, activity entities 115, expressions 120, andexpression recognitions 125 can be used in a number of differentapplications of the social media networking service 100. Discoveryapplications 155 enable users to identify activity entities 115 andexpressions 120 of interest as well as users sharing similar interests.

One type of discovery application 155 enables users to search bykeywords, parameters, or criteria for activity entities 115, expressions120, users, recognitions, and other information. In a furtherembodiment, user profiles 110, activity entities 115, and expressions120 can be associated with metadata elements to assist in searching andnavigation. Metadata elements may be any type of structured data used todescribe an activity entity, expression, user profile, recognition, orother type of data in the social media networking service. Metadataelements may also be used to describe the relationships between two ormore activity entities, expressions, user profiles, recognitions, and/orother types of data. Metadata elements can be added by users,administrators of the social media networking service 100, oradvertisers, who may be charged for the ability to add metadataelements. Some or all of the metadata elements can be organized into ahierarchical schema, such as monolithic ontologies or facetedhierarchies, or have a flat or free-form structure. The socialnetworking service, advertisers, and/or users can each contribute and/ororganize metadata for navigation and classification of user profiles110, activity entities 115, and expressions 120.

Structured metadata can be filtered by constraints,parametrically-navigated, and/or faceted-navigated to precisely refinesearch results. Structured metadata can also be used to identify,evaluate, and generate ratings for places and activity entities 115using complex multidimensional criteria. In an embodiment, canonicalrules and metadata analysis techniques can be used to ensure metadataelements are consistent and to identify equivalent metadata elements,such as those resulting from misspellings and word variations (e.g. a“hiking” metadata element and a “hike” metadata element may beconsidered to be equivalent).

Another type of discovery application 155 recommends activity entities115 to users based on their previously completed activity entities 115,their ratings of activity entities 115, their similarities with otherusers, and expressions 120 associated with activity entities 115, andusers' preferences. For example, a discovery application 155 canrecommend activity entities 115 with similar metadata elements as theactivity entities 115 previously completed by a user. In anotherexample, a discovery application 155 can identify other users havingcompleted some of the same activity entities 115 as a given user, andthen recommend further activity entities 115 to the given user based onthe activity entities 115 of the other identified users. In a furtherexample, statistical correlations, clustering, and other statisticalanalysis and data mining techniques can be used to identify commontraits or interests of users to provide recommendations.

As discussed in detail below, users can indicate their interest orapproval in the expressions 120 created by other users, referred to asexpression recognitions 125. Yet another example of a discoveryapplication 155 uses the expression recognitions 125 given by a user todetermine additional activity entities 115 of potential interest to thatuser. For example, if a first user gives an expression recognition to asecond user's expression including a restaurant review, then thediscovery application 155 can recommend other restaurants positivelyreviewed by the second user to the first user as additional activityentities 115. As discussed in detail below, users or discoveryapplications can analyze a dynamically selected subset of users, orscope, to identify additional activity entities 115 of interest.

Bookmarking applications 130 enable users to select and rememberactivity entities 115 of interest to be completed, to collect activityentities 115 of interest, or to identify favorite activity entities 115completed or to be completed. One example bookmarking application 130allows users to select one or more activity entities 115 from adiscovery application 155 and add the selected activity entities 115 toone or more lists. In one implementation, users can create one or morelists to categorize or organize the activity entities 115 they wish tocomplete. One implementation of this example bookmarking application 130can be accessed using a web browser or a dedicated application on apersonal computer. Another implementation of this bookmarkingapplication 130 can be executed on a mobile phone, smart phone, personaldigital assistant, or other portable or handheld electronic device. In afurther implementation, the bookmarking application 130 is adapted tothe features and limitations of the mobile device and may include asimplified interface designed for ease of use with the small screen andlimited input controls of portable electronic devices.

In still a further implementation, discovery 125 and bookmarking 130applications can utilize location determination services and sensors,such as global positioning system (GPS) services, radio locationservices, inertial navigation systems, or mesh networks, to determinethe location of the user. In another implementation, users can manuallyprovide their location, for example by entering an address or a maplocation or by selecting a location from a list of previously savedlocations, The user's location can be used to filter or narrow the listof activity entities 115 presented to the user. For example, a discoveryapplication 155 on a portable device can present a user with a list ofactivity entities 115 near the user's current location. This feature canencourage users to try new activity entities 115. In another example, abookmarking application 130 can present a user with a list of previouslybookmarked activity entities 115 that are also near the user's currentlocation. By allowing users to limit the scope of their activityentities 115 to the current location, the social networking servicemakes searching and navigation more feasible on the limited userinterfaces of mobile devices.

In yet a further implementation, a bookmarking application 130 enablesusers to indicate that they are currently participating in an activity.For example, a user can select one of their bookmarked activity entities115 using a bookmarking application 130 on their portable electronicdevice. This selection will be provided to the social media networkingservice 100, which will later ask users if they completed the selectedactivity and solicit expressions 120 pertaining to the activity. In yetanother implementation, the bookmarking application 130 mayautomatically infer that the user is undertaking an activity based onthe user's current location. In a further embodiment, the user'slocation is used to filter the user's bookmarked activity entities 115so as to present bookmarked activity entities 115 to the user that arenear the user's current location.

Users inform the social media networking service 100 that an applicationis complete using activity completion applications. One example activitycompletion application 135 allows users to check off or otherwise markactivity entities 115 as complete on their lists of bookmarked activityentities 115. Another example activity completion activity 135 asks theuser if an activity is complete via the user's portable electronicdevice, such as by sending a message or presenting a dialog box to theuser. The user may initiate the application completion communication oralternatively, the social media networking service 100 may query theuser to determine if the activity is complete. In the latter case, aquery can be initiated in response to a determination that the user isundertaking an activity via a bookmarking application 130, as discussedabove.

Activity completion applications 135 can optionally include validationsystems to ensure that users actually complete activity entities 115. Inone implementation, different types of validation are employed fordifferent types of activity entities 115. For some activity entities115, validation may be omitted if the activity does not have anyfinancial, scorekeeping, or other implications, because user fraud is oflittle consequence on the social media networking service 100. For moreimportant activity entities 115, such as activity entities 115 thatdetermine a user's rank relative to other users, activity entities 115created by sponsors, and activity entities 115 involving prizes orrewards, one or more validation systems may be used.

Peer review is one validation system. Other users can review a givenuser's expression for an activity and flag or mark the expression asfraudulent. Reputation and trustworthiness scores and voting schemes canbe used to prevent abuse of the peer review validation.

For activity entities 115 involving a specific location, providing userlocation information from a portable electronic device can serve asvalidation for completing an activity. For example, if an activity isclimbing a mountain, then the user's location data at the top of themountain serves as validation for this activity.

A challenge-response validation scheme can be used for some activityentities 115. A challenge-response validation asks the user a questionthat would be relatively easy to answer if the activity was completed.For example, if an activity is to visit a museum, then the challengequestion may be to identify a word on a sign at a specific location inthe museum.

Photographs can also be used to manually or automatically validate auser's completion of an activity. For example, a photograph of a user ata restaurant would validate that the user has eaten at that restaurant.Peer review can be used to flag photographs that are inaccurate, such asthe user at a different restaurant. Additionally, machine orcamera-readable bar codes or other types of data encoding schemes can beplaced at the location of an activity or on products associated with anactivity. Users completing the activity scan or photograph the bar code,which is then forwarded to a validation application for evaluation.Advertisers or event sponsors can place these bar codes at the locationof the activity or on the product associated with the activity as a wayof engaging users of the social media networking service 100. The use ofthese bar codes may be linked to loyalty, rewards, or prize programs runby the advertiser.

Once a user indicates that an activity is complete, the social medianetworking service 100 will provide the user with an opportunity tocreate an expression associated with the activity. In one example, anexpression creation application 135 will provide a survey orquestionnaire to the user about the activity. The data provided by theuser is used to create the user's expression for this activity. Inanother example, an expression creation application 135 on a portableelectronic device will ask for a simplified expression about anactivity, such as whether the activity was enjoyable or not. The socialmedia networking service 100 may then ask for more detailed expressions120 from the user for the activity at a later time when the user isaccessing the social media networking service 100 via a personalcomputer.

In an embodiment, an activity completion application 135 can beimplemented as an application or a web page adapted to be operated via amobile device, such as a mobile phone. In this embodiment, the activitycompletion application 135 may be configured to collect feedback fromusers about an activity and associated locations and attributes at ornear the time of completion. By providing facilities for collecting“in-the-moment” feedback and ratings, a larger proportion of users willprovide feedback as compared with applications that collect feedback ata later time.

For example, an activity completion application 135 may ask a user togive a “thumbs up” or “thumbs down”, a numeric ranking, or any otherquantitative or qualitative ranking to an activity or to a particularattribute thereof. The activity completion application 135 can utilizethe activity database and optional location determination services andsensors to determine context to guide the requested feedback. Forexample, if an activity is done in a restaurant, the activity completionapplication 135 may request the user to provide feedback about foodquality, atmosphere, noise level, price, or other factors relevant to arestaurant. If the activity was done at a golf course, the applicationcan enquire about course difficulty, greens fees or aesthetics. If theactivity involved physical activity, the activity completion application135 can enquire about athletic difficulty or duration.

Another example expression creation application 135 enables users toupload text, photos, video, audio or music, multimedia content, themes,articles, journal entries, web logs or blogs, hyperlinks or hypertext,or any other type information capable of being represented in anelectronic form as an expression for an activity. This exampleexpression creation application 135 can include templates and otherformatting tools to allow users to control the presentation of data intheir expression.

Expression recognition applications 140 enable users to give accoladesor recognition to other users' expressions 120. Users may giveexpression recognition because they enjoyed viewing the expression, theyfound the expression useful, or for any other reason. Expressionrecognition applications 140 may enable users to mark or associateexpressions 120 with expression recognitions 125 and metadata elements.Expression recognition applications 140 may also allow users to submitnegative feedback about other user's expressions 120. Expressioncreators can later view their recognitions, either individually or inaggregate. In some implementations, users can select between two or moredifferent types of expression recognitions 125, such as markingexpressions 120 as funny, useful, or beautiful. In a furtherimplementation, sponsors or advertisers can give out their owncustomized expression recognitions 125. In a further implementation,users, sponsors, advertisers, or activity creators may define their owntypes of expression recognitions 125. For example, a sponsor may createa custom expression recognition to acknowledge users that have usedtheir product in a unique or interesting way.

Expression recognitions 125 can be used to determine qualitativeattributes of expressions 120. For example, if a photograph expressionis marked as “beautiful” by many users, then it can be inferred that thephotograph expression includes a beautiful photograph. Expressionrecognitions 125 can also be used to rank expressions 120 associatedwith activity entities 115. In some implementations, higher rankedexpressions 120 are given more prominent placement on web pagesassociated with their activity entities 115. Users with many expressionrecognitions 125 may be considered to be “experts” or “tastemakers” inparticular areas, and thus featured more prominently on the social medianetworking service 100. Newly created expressions 120 from these expertusers may be assigned higher initial ranks as a result of the popularityof their previous expressions 120.

Furthermore, expression recognitions 125 can be used to determine thepreferences and interests of the user giving the expression recognition.When a user gives an expression recognition to an expression, it createsan implicit relationship between that user and the expression creator,the expression, and the activity. The expression recognition indicatesthat the user likes the activity (or in the case of a negativerecognition, dislikes the activity), the user creating the activity,and/or some aspect of the expression. This information can be used toprovide recommendations for additional activity entities 115 and fortargeting advertising at narrowly defined communities of interest. Forexample, if a user gives expression recognitions 125 to expressions 120related to mountain climbing, then the user is obviously interested inmountain climbing. Advertisers can then tailor their advertisements tothis user's interests.

In addition to giving expression recognitions 125, user recognitionapplications 145 give users accolades or praise for their interests,completed activity entities 115, expressions 120, or recognitions. Oneuser recognition application 145 generates and presents a badge to auser based on the user's accomplishments. A badge is a system-generatedvisual representation of the user's real-world or virtualaccomplishments, such as his or her completed activity entities 115. Ina further embodiment, a badge can include activity entities 115 that auser has bookmarked but not completed. An example of a badge isdiscussed in detail in FIG. 3 and can include one or more scores orsummaries of the user's completed activity entities 115. A user's scoreor scores can be based on the number of activity entities 115 completed,the types of activity entities 115 completed, the number and type ofexpressions 120 created, and the number and type of expressionrecognitions 125 received. The user's score can be an aggregatemeasurement of a user's achievements in one or more types of activityentities 115, expressions 120, and expression recognitions 125.

In one implementation, a user's badge is automatically generated anddisplayed in the user's profile. The badge may be visible to both theuser and other users viewing that user profile. In a furtherimplementation, the badge (either in full or in an abbreviated form) maybe displayed in association with users names and photos as part of adiscovery application. For example, if a user creates an activity, theweb page describing the activity may include the user's name and anabbreviated version of their badge summarizing that user'saccomplishments, such as the total number of activity entities 115completed or their total activity score.

In an embodiment, user badges can be exported to other web sites orservices. For example, a user can embed their badge in a different webpage or display it on their mobile device. An implementation of badgescan use HTML, CSS, XML, Flash, web scripting languages, or any othertechnology for transferring information data and presentation markupmetadata. In further implementations, widgets, which are self-containedweb page or desktop applications, can be used to present badges to usersoutside of the social networking service.

Another user recognition application 145 uses game play incentives toencourage users to complete activity entities 115 and create expressions120. One example of a game play incentive ranks players according totheir accomplishments and displays leaderboards with the top-rankedplayers. Leaderboards may be scoped by interest or activity type,location, user characteristics, and/or user location. One implementationof this user recognition application 145 dynamically selects the scopeof the leaderboards presented to a user to make that user feelaccomplished. An example of a dynamically-scoped leaderboard might listthe top female golfers in San Francisco's Mission neighborhood betweenthe age of 35 and 40 that have also played at the Pebble Beach golfcourse. By narrowing the criteria associated with a leaderboard, auser's ranking on that leaderboard is likely to improve.

Leaderboards can be presented in conjunction with activity entities 115in discovery applications. For example, a list of skateboarding activityentities 115 in a discovery application 155 can include a leaderboardfor the top-ranked users that have completed some or all of theseactivity entities 115. Users can also define their own leaderboardcriteria and view the top-ranked users as well as their own ranking.Criteria can be based on attributes of user profiles 110 as well as dataor metadata elements associated with activity entities 115.

A further implementation of a user recognition application 145 allowsusers, social media networking service 100 administrators, andadvertisers to create their own leaderboards. For example, a user cancreate a top hiker in San Francisco leaderboard that ranks users fromSan Francisco according to the number of hiking activity entities 115that have been completed. Users in San Francisco that are interested inhiking will see their own rank on this leaderboard and may be encouragedto undertake additional hiking activity entities 115 to improve theirranking. In this way, leaderboards encourage activity completion amongusers in interest groups and thus user engagement with the social medianetworking service 100. Leaderboards can be open to all users of thesocial networking service, open only to users satisfying specificcriteria, open by invitation only, or restricted to a specific set ofusers, such as friends or colleagues of the activity creator.

Sponsored leaderboards can encourage product use and brand awareness aswell as collect demographic information about current and potentialcustomers. For example, a beverage company could have a leaderboardranking the users who have ordered their beverage in the most bars. Inthis example, ordering this beverage in a given bar is considered to becompleting an activity. As users complete activity entities 115 on thisexample leaderboard by ordering this beverage in multiple bars (andoptionally validating their purchases), the advertiser learns whichusers prefer their beverage; the other interests of these users, whichcan be used to identify other potential customers; and the locations,such as the cities, neighborhoods, or types of bars where their beverageis most popular.

User advertising and analysis applications 150 enable advertisers toanalyze the demographic data collected about users of the social medianetworking service 100 and to purchase various types of advertisements.Advertisers can use the social networking service to build their brandand/or to generate user impressions. One user advertising and analysisapplication 150 enables advertisers to search for users based oninformation in user profiles 110 as well as data and metadata associatedwith activity entities 115 or expressions 120 of users. For example, anadvertiser can search for users located in California that havecompleted a water-skiing activity. The user advertising and analysisapplication 150 can provide additional information about the users thatmatch this criteria, such as other activity entities 115 popular withthis group, the specific locations where these users participate inwater-skiing, or any other type of individual or aggregate attributes ofthis subset of users. This information can be used by advertisers torecognize new business opportunities or to more precisely target theiradvertising.

Additionally, advertisers can purchase various types of advertisementstargeted to users meeting any criteria. For example, an advertiser canpurchase advertising on the social media networking service 100 to allusers in Los Angeles that have completed or have bookmarked awater-skiing activity. Alternatively, an advertiser can purchaseadvertising to any user in Los Angeles that views a water-skiingactivity using a discovery application. Advertisers can purchaseexclusive advertising for a given criteria, a fixed quantity ofadvertisements over a given time period, or a percentage of theadvertisements presented to users matching the advertiser's criteriaover a given time period. One implementation of the user analysis andadvertising application allows advertisers to view the price ofadvertisements based on the type of advertisement and the advertisingcriteria and complete the purchase of advertising online. This price canbe determined manually or automatically by the social media networkingservice 100 based on the type of advertisement, the advertisingcriteria, the demand for advertisements within this criteria, the numberof users potentially included in this criteria, and any other factor. Afurther implementation of the user analysis and advertising applicationenables advertisers to monitor the success of their advertisements, suchas user traffic, user clicks, conversion ratios, and other advertisingmetrics.

The social media networking service 100 can provide a variety ofdifferent types of advertisements and marketing opportunities toadvertisers. The social media networking service 100 can chargeadvertisers for each of these types of advertisements or marketingopportunities. Advertisers can purchase text or graphic banner adsdisplayed on web pages matching their criteria, such as activity pagesor user profile pages. Advertisers can send messages, such as e-mail,MMS, video or text messages, mobile web pages using WAP or otherprotocols, or advertisements within a mobile application, to usersmatching their criteria. Advertisers can also select activity entities115 of interest to their potential customers, associate these selectedactivity entities with metadata elements indicating their associationwith advertisers, and create sponsored or branded leaderboards.Advertisers can sponsor special badging for loyal or enthusiasticcustomers, which may then appear on the user's badge. Advertisements maybe priced at a fixed rate or adjusted in price dynamically based on thetypes and numbers of users targeted, the type and duration ofadvertisement, and the demand by advertisers for a particularadvertising target. For example, an online auction scheme may be used todetermine pricing of advertisements.

Advertisers can also create their own sponsored activity entities 115.For example, a car company could create a set of scenic drive activityentities 115, such as the “Ten Best Drives for Your Brand X Car.” Inaddition to presenting these sponsored activity entities 115 to users ofthe social networking service, a further embodiment of the socialnetworking service allows unsponsored and sponsored activity entities115 to be syndicated to other web sites or services. For example, thesponsored list of scenic drives could be syndicated to web sites aboutdriving or travel. The social networking service can earn revenue bycharging advertisers to create sponsored activity entities 115, bycharging advertisers to syndicate their activity entities 115 to otherweb sites and services, and/or by charging other web sites and servicesfor syndicated activity entities 115 and other content.

Advertisers can also sponsor users as brand ambassadors, similar to thesponsorship of professional athletes. In one implementation, users thatsatisfy an advertiser's criteria can be contacted by the advertiser andoffered a sponsorship. The advertiser may provide monetary ornon-monetary compensation to the user in exchange for accepting thissponsorship. The sponsored user's profile 110, bookmarked or completedactivity entities 115, and expressions 120 may be branded or otherwiseassociated with advertiser. The sponsored user's profile 110, activityentities 115 and expressions 120 may be featured prominently on webpages selected by the advertiser. For example, a record company couldidentify music fanatics by searching for users that have completed largenumbers of music-related activity entities 115. These users can then beoffered free music or concert tickets in exchange for sponsorship. Whenother users search for music-related activity entities 115 orexpressions 120, such as upcoming concerts, record reviews, or concertphotos, the sponsored user's profile 110, activity recommendations orbookmarked activity entities 115, and/or their music-related expressions120, along with the sponsor's advertisement or other content, will befeatured prominently in the discovery application 125. In someimplementations, the interaction between advertisers and sponsored usersis a self-service application for the users and advertisers. Once a userhas accepted sponsorship, the sponsored user and the advertiser are freeto interact as often and in any way they wish.

The applications discussed above can be implemented as standaloneapplications using platform-specific or platform independent programminglanguages, as desktop widgets, or as web-based applications usinghypertext markup languages, web browser plug-ins, and server-side and/orbrowser-side scripts and programs. Web 2.0 and mobile web technologiesand architectures, such as AJAX, Comet, Flash, Java and J2ME, and WAP,can be utilized to provide a rich user interface for these applications.Web-based applications can utilize web browser or browser plug-instorage functions to maintain application functionality when no networkconnection is available and to later synchronize any changes with thesocial media networking service 100 when the network connection isrestored.

FIG. 2 illustrates a method 200 of selecting and updating user activityentities according to an embodiment of the invention. This method 200can be implemented via an application executing on a personal computerand/or on a portable electronic device. In step 205, a user firstprovides a selection of the bookmarked activity entities to the socialmedia networking service. This selection of bookmarked activity entitiesis made available whenever users access the social media networkingservice, whether via their personal computers, different computers, ortheir portable electronic devices such as mobile phones.

In step 210, the application may optionally determine a location of theuser each time the application is accessed by the user. In step 215,this location information may optionally be used to help filter ornarrow the list of bookmarked activity entities to those near the user'scurrent location. Alternatively, in step 215, the user can optionallyfilter their list of bookmarked activity entities using any criteria.

In step 220, the application receives a selection of an activity. Theuser may manually select an activity to indicate that he or she isparticipating in this activity or the application may ask the user if heor she is currently performing an activity in response to thedetermination that the user is at the location of a bookmarked activity.The activity selected may be from the user's list of bookmarked activityentities or from any of the other activity entities listed by socialmedia networking service. While there might be many activity entitiesnear a user, by using the user's bookmarked activity entities, thesocial networking service can filter these activity entities todetermine the most likely activity entities to be selected.

In step 225, after receiving a selection of an activity, the applicationnotifies the social media networking service of this selection. Thisallows the social media networking service to track the activityentities completed by the user and to later, in step 230, solicitexpressions and other activity feedback from users.

In a further embodiment of step 230, the solicitation of activityfeedback is tailored to the context of the user and to the type ofactivity. For example, if the user is accessing the social networkingservice via a mobile device, an abbreviated solicitation of activityfeedback may be used, in recognition of the limited interface of mobiledevices as well as the fact that the user may be otherwise occupied. Anexample of this would be to ask the user simply if the activity was goodor bad. A more detailed solicitation of activity feedback can thenpresented to the user when he or she later accesses the socialnetworking service with a personal computer. In an additional example,if the user has completed a golf activity, the solicitation of activityfeedback may ask about the quality of the groundskeeping and theavailability of tee times, while the solicitation of activity feedbackfrom a restaurant activity may ask about food quality and service.

FIG. 3 illustrates an example badge 300 adapted to encourage userengagement with the social media networking service according to anembodiment of the invention. As discussed above, a badge 300 is asystem-generated visual representation of the user's real-worldaccomplishments, such as his or her completed activity entities. Theexample badge 300 of FIG. 3 includes one or more scores or summaries ofthe user's completed activity entities. A user's score or scores can bebased on the number of activity entities completed, the types ofactivity entities completed, the number and type of expressions created,and/or the number and type of expression recognitions received. Examplebadge 300 includes an aggregate score indicator 305 providing a summaryof the total accomplishments or completed activity entities of theusers.

Scores can be broken down into categories, which can be determined viathe metadata elements associated with activity entities. For example, abadge 300 might list scores for a user's three or four most activeactivity categories. For example, if a user completes many activityentities related to bars, music, sports, and restaurants (as determinedfrom the metadata elements associated with their completed activityentities, their badge 300 might display separate scores 310 fornightlife 310 a, music 310 b, sports 310 c, and food 310 d. Thesecategories may vary depending on the user's interests and completedactivity entities. Another user that completes many activity entitiesrelated to wine, reading, and golf will have a badge 300 that listsscores for wine, books, and golf categories. Similarly, if a userreceives large amounts of expression recognition for his or herexpressions, his or her badge 300 can include an expression recognitionindicator 320, for example stating that the user is considered a hikingexpert or popular photographer. A badge 300 may also include sponsoredscore categories 315, which arc scores based on a user's completion ofadvertiser sponsored activity entities. Additionally, a badge 300 maylist a score based on a user's membership in one or more groups ofusers. For example, if a user belongs to a “San Francisco Hikers” group,then his or her badge 300 may include a “San Francisco Hiking” score ina group score indicator 325.

The visual appearance of a badge 300 can be enhanced using images,icons, logos, animations, or other types of text or graphics. The visualappearance of the badge 300 can be influenced by the types andcategories of a user's interests and completed activity entities. Forexample, a user that is an outdoor sports enthusiast may have a badge300 with an outdoors visual theme, while an auto-racing fan can have abadge 300 with an auto-racing visual theme.

In a further implementation, users may be able to design their ownbadges or customize the badges generated by the service. For example, agraphical layout editor can be used to design the visual appearance ofthe badge 300 and the arrangement of icons, logos, or other indicatorson the badge 300. In another example, users can select a badge 300 themethat alters the appearance and/or content of their badge 300. In stillanother example, users can select which activity entities to emphasizeon their badge 300. For example, users may wish to emphasize theiracademic achievements on their badge 300 and deemphasize (or hide) theirnightlife-related achievements. In a further example, users may createand customize multiple badges to emphasis different aspects of theirlife. Users may create an academic and sports achievement badge 300 topresent on web pages available to their family and coworkers and anightlife and music badge 300 to present on web pages available to theirfriends. In this example, the social networking service may includesfeatures for managing multiple badges for each user and for enablingusers to control the access and presentation of these badges to otherusers and web sites.

Implementations of badges can be automatically generated and displayedin the user's profile. The badge 300 may be visible to both the user andother users viewing that user profile. In a further implementation, thebadge 300 (either in full or in an abbreviated form) may be displayed inassociation with users names and photos as part of a discoveryapplication.

FIG. 4 illustrates a graph of data elements and associated graphrelationships according to an embodiment of the invention. As discussedabove, data elements of the social media networking service can includeuser profiles 405, activity entities 410, and expressions 415. Differenttypes of relationships can be created between these data elements. Adirect friendship relationship 420 between two user profiles 405indicates that these users are friends, classmates, colleagues, orpeers. A relationship between a user profile 405 a and an activity 410indicates that the user has either bookmarked 430 or completed 425 thatactivity. A relationship 435 between one or more activity entities 410and an expression 415 indicates that the expression 415 is related tothat activity. A relationship between a user profile 405 and anexpression 415 indicates that the user either created the expression 445or has given another user's expression an expression recognition 440.

The graph 400 of data elements in FIG. 4 is intended as an example andembodiments of the invention can be implemented using arrangements ofdata elements. Furthermore, additional types of data elements can beincluded in the graph. If an embodiment of the social media networkingservice includes discussion groups, then data elements representing thediscussion group itself and discussion within the group can be includedin the graph and linked by relationships with user profiles 405,activity entities 410, and expressions 415.

One problem with user-generated content is that it is difficult toclassify and categorize to enable user searches. FIG. 5 illustrates amethod 500 of accurately classifying and hyperlinking user-generatedcontent for search, navigation, and analysis according to an embodimentof the invention. The method 500 of FIG. 5 combines automated languageanalysis techniques with a peer-review mechanism to classify andhyperlink user-generated content.

Upon receiving user-generated content, such as user-created activityentities or an expression related to an activity, step 505 of the method500 uses grammar and language analysis techniques, machine learningtechniques, data mining techniques, and other language processingtechniques known in the art to identify and extract statisticallysignificant word phrases from user-generated content. These extractedword phrases will be used to categorize the user-generated content andform the basis of links between this user-generated content and othercontent provided by the social media networking service. For example thesystem might detect the word phrase “Bay Area” in the title “Top 10 BikeRides in the Bay Area”, and identify it as a canonical and semanticallyinteractive location object.

Step 510 of the method 500 uses extracted word phrase to identifypotential categories for the user-generated content. This can be done bycomparing the extracted word phrase phrases with the metadata schemaused to classify and organize activity entities and expressions anddetermining if the extracted word phrases match or are similar tospecific metadata elements. Alternatively, a metadata element may beassociated with one or more specific key words representingstatistically significant word phrases typically found in contentassociated with this metadata element. By matching the extracted wordphrases with key words associated with metadata elements, one or moremetadata elements can be associated with the user-generated content,other content on the social networking service, and/or content outsideof the social networking service.

In some cases, there may be some ambiguity associated with extractedword phrases In these cases, step 515 of method 500 provides a hyperlinkassociated with the extracted word phrases that includes a list ofalternative links to potentially related content. Users can be expectedto select the most relevant of these alternative links. Step 520receives user's selection of one of the alternative links. By trackingwhich links are selected by users, step 525 of the method 500 can updateits list of potentially related content. Once sufficient user responseshave been collected, the ambiguity is eliminated and the extracted wordphrase is linked only to the correct content. This allows users toresolve the ambiguity of a word phrase by “voting through theiractions”. In a further embodiment, if none of the potential linksassociated with an extracted word phrase is correct, then a user maysupply additional information to help the system identify appropriaterelated content or delete the erroneous link.

For example, a user may create an expression with the word “stones.”After extracting this word phrase and analyzing its index of key wordsand metadata, the method 500 in this example may infer that this wordphrase “stones” refers either to the music group “The Rolling Stones” orto activity entities related to mountain climbing. In this example, theuser-generated content is presented to other users with a hyperlink onthe word “stones.” When other users view this content and select theword stones, a list of hyperlinks will be presented to the user thatdirect the user to other content related to either the Rolling Stones orto mountain climbing. This content may be internal to the socialnetworking service or external to the social networking service. Theuser can select the link he or she believes is most relevant to thiscontext of the word “stones.” This selection will then be used to updatethe hyperlinks associated with this word.

In an embodiment, this list is presented in an unobtrusive manner bycreating a pop-up window when the user's mouse cursor hovers over theword “stones” in the content. This window disappears when the user'smouse cursor moves away from this word.

Continuing with this example, the user-generated content may not berelated to the Rolling Stones or to mountain climbing, but instead tothe medical condition of kidney stones. In this case, users can provideadditional information to assist the system in generating appropriatehyperlinks. In an embodiment, the list of hyperlinks presented to a userincludes a field for entering other key words to correctly classify thecontent. In this example, upon being presented with a window includinghyperlinks for the Rolling Stones and for mountain climbing, the usercould enter the phrase “kidney stones” to update the list of hyperlinkswith different context associations. The user entered phrase maycorrespond with a preexisting metadata element or a key word potentiallyassociated with a metadata element. This updated list can be laterpresented to other users to verify or further refine the hyperlinksassociated with the user generated content.

In many online review and city information web sites, the aggregatereviews or ratings of restaurants and other businesses based on usersubmissions all tend to converge to an average value. Because allbusinesses end up with approximately the same rating, the reviews orratings become virtually meaningless. To avoid this problem and providemeaningful and informative reviews, an embodiment of the inventionincludes dynamic scoping of reviews and other expressions pertaining toactivity entities. Moreover, it is difficult to determine which reviewrepresents the best summary of the aggregate opinion of an activity.

Dynamic scoping allows the social media networking service or users tomanually or automatically specify a subset of users to be used todetermine a recommendation or rating for an activity. In one example ofdynamic scoping, statistical correlations, clustering, and otherstatistical analysis and data mining techniques can be used to identifycommon traits of a given user and a subset of the other users of thesocial media networking service. This subset of users, rather than theentire set of users, is used to determine a rating of an activitytailored to the given user's preferences. The subset of similar userscan be identified using the completed activity entities, expressions,and expression recognitions of the given user.

Users can manually specify the scope of users to include in searching,navigating, and evaluating activity entities and expressions. FIG. 6illustrates example scopes 600 of social media networking contentaccording to an embodiment of the invention. At the broadest or mostgeneral, the scope includes all users 605. Narrower scopes includeexpert users 610, where experts can be determined by the number ofexpression recognitions received in general or related to a particulartype of activity; similar users 615, which are users that share one ormore traits, and at the most specific, the friends, classmates,colleagues, or other peers 620 of the user. In further embodiments,users can manually specify complex scopes of users and activityentities. For example, a user can ask for the best seafood restaurantsin Seattle as determined by food experts under the age of 40.

In a further embodiment, users can save or bookmark different scopes toassist in future searches. For example, a user might bookmark a scope ofusers including expert hikers in California to assist in future searchesfor hiking trails, a scope including food and wine experts to assist infuture searches for fine dining experiences, and a scope including theirfriends to assist in planning dinners at restaurants that are enjoyableto the majority of one's friends. In another example, users can use adiscovery application to view reviews or expressions. A first user canselect or mark expressions that they agree with. The other users thatcreated these expression can be added to a specific scope of experts forthe first user. The first user can then select this scope of expertusers to filter or search for other activity entities.

In an embodiment, a user can search or browse a set of data entities,such as activity entities. The set of data entities may be arranged bydefault according to a ranking criteria based on relevance to a searchquery or strength of association with one or more metadata elements.Upon specifying a scope of users, an embodiment of the system will rankthe set of data entities, or a selected portion thereof, according tothe ratings or metadata associations of the scope of users, rather thanthe entire set of users. The data entities ranked according to the scopeof users may then be presented to a user.

Advertisers are reluctant to purchase advertising shown in conjunctionwith user-generated content, because the user-generated content on thesame page as the advertisement may be offensive or disparage theirproduct or brand. To overcome this reluctance, some social medianetworking web sites use humans to review and approve user-generatedcontent as safe for advertising.

In an embodiment, content on the social media networking service ispartitioned into a brand-safe zone, which includes advertisements, andan unbranded zone. The content in the brand-safe zone has been reviewedand determined to be acceptable with the policies of advertisers. Theunbranded zone does not include any advertisements, or onlyadvertisements from advertisers that are not concerned aboutuser-generated content. Typically, the unbranded zone includes lesspopular user-generated content, such as expressions that have notreceived positive recognition (or have received negative recognition).When users access activity entities using a discovery application, theinitial presentation of an activity will include content andadvertisements from the brand-safe zone. This may include a descriptionof the activity as well as a selection of highly rated expressions thathave been reviewed and added to the brand-safe zone. If the user hasfurther interest in the activity and its expressions, the user may viewadditional web pages of expressions associated with the activity.

When the user begins to view less popular expressions, the social medianetworking web site may transition its presentation to the user of theactivity to the unbranded zone. Within this zone, users can view lesshighly rated expressions that have not been reviewed for compliance withadvertiser guidelines. Because this user-generated content has not beenreviewed, the advertising in the unbranded zone has been reduced oreliminated.

Because the content of the social media networking service has beenpartitioned into a brand-safe and an unbranded zone, it is desirable toensure that the most popular content is reviewed and added to thebrand-safe zone as quickly as possible to maximize advertising revenue.FIG. 7 illustrates a method 700 of efficiently selecting user-generatedcontent for review according to an embodiment of the invention.

After receiving an expression or other user-generated content in step705, such as a user-defined activity or list of activity entities, step710 of method 700 adds the content to an unbranded zone or portion ofthe social media networking service. In step 715, method 700 determinedif the content has received sufficient positive expression recognition.If so, then step 720 will rank the expression in a moderation queuebased on its quantity and type of recognition, amount of user traffic,time in the moderation queue, the advertising revenue associated withthe activity, and/or the rate of change of any of these factors. Themoderation queue determines the order in which user-generated content isreviewed for compliance with advertiser policies. The ranking is theresult of an optimization that balances maximizing advertising revenuewith ensuring that the most-popular, topical, and/or noteworthyuser-generated content is prominently featured.

Based on the ranking of the user-generated content, the method 700 mayeither wait until the user-generated content is reviewed in step 730 andadded to the brand-safe zone or if the user-generated content isexceedingly popular, the method 700 in step 725 may debrand or move themain page of the activity to the unbranded zone. Although step 725results in a short-term loss of advertising revenue, it ensures thatpopular and/or noteworthy user-generated content is prominentlyfeatured. Over the long term, this enhances the reputation of the socialmedia networking service as a source for interesting, relevant, andtopical content and increases user loyalty and traffic.

If the activity is debranded in step 725, the ranking in the moderationqueue of the user-generated content that triggered this action ismodified to reflect the loss of advertising revenue from the debranding.This typically increases the rank of the user-generated contentsubstantially. Similarly, if user-generated content waiting in themoderation queue receives additional recognition or substantial usertraffic, the ranking of this user-generated content by step 720 isadjusted accordingly.

Eventually, all content in the moderation queue will either be reviewedand potentially added to the brand-safe zone, reviewed and rejected fromthe brand-safe zone due to its content, or drop off of the moderationqueue without being reviewed due to fading popularity. User-generatedcontent that does not become popular can remain in the unbranded zone,as the cost of reviewing this content is not justified by the marginalincrease in advertising revenue.

It should be noted that the prioritization of content to review may bedetermined by many factors besides user traffic and advertising revenuevalue. For example, if a given user has been acknowledged as a goodphotographer (for example by receiving many positive expressionrecognitions for his posted photographs), then new photographs from thisuser may be given a higher priority in the moderation queue based on aprediction of heavy user traffic.

In further embodiments, the social networking service can include zonesof varying degrees of brand-safety. For example, there may be anunbranded zone, which does not include any limits on user-generatedcontent, one or more intermediate zones, such as a profanity-free zonethat includes user-content automatically screened for profanity andoffensive language, and a brand-safe zone, which only includesuser-content screened by human reviewers. Each intermediate zone caninclude a different levels of automated screening or other safeguardsagainst potentially offensive user-generated content. In theseembodiments, some advertisers may be willing to advertise in the lessbrand-safe intermediate zones, while other may only purchaseadvertisements in the brand-safe zone.

As described above, user profiles, activity entities, and expressionsmay be associated with metadata elements to assist in searching andnavigation. Metadata elements can be added by users, administrators ofthe social media networking service, or advertisers, who may be chargedfor the ability to add metadata elements. Associating users, activityentities, and expressions with metadata is time consuming anderror-prone. For example, if a social media networking service includeshundreds of thousands of activity entities and users, it is impracticalfor the service administrators to manually associate metadata with usersand activity entities. Automated metadata associating techniques usingsemantic analysis are complicated, error-prone, and unable to providemore than the most basic metadata associations. Many users are reluctantto spend the time to associate metadata elements with themselves, otherusers, activity entities, or expressions. Moreover, users that arewilling to manually add metadata associations often use inconsistent orinaccurate metadata elements, limiting the usefulness of the metadata.

An embodiment of the invention compensates for these problems bycollecting and implicitly associating metadata with user profiles,activity entities, expressions, or other data entities based on userbehavior. FIG. 8 illustrates a method 800 for implicitly associatingmetadata with data entities according to an embodiment of the invention.

Step 805 of method 800 receives a set of one or more activity entitiesor other data entities, such as expressions, to be associated withmetadata. In an embodiment, the set of activity entities may already beassociated with initial metadata. This initial metadata may be muchcoarser and less specific than the type of metadata desired by thesocial media networking service.

Step 810 receives a metadata collector and one or more associatedmetadata elements. A metadata collector is a poll, survey, list,questionnaire, census, test, game, or other type of presentation adaptedto solicit user interaction. In an embodiment, a metadata collector isassociated with one or more metadata elements. As explained below, whenusers interact with a metadata collector, their user profiles and thedata entities included in their interactions become associated with themetadata elements of the metadata collector.

For example, a metadata collectors can include lists or surveys that askusers to submit activity entities. Examples of these types of metadatacollectors may include surveys on “Best Hamburger in the San Francisco,”which is associated with metadata elements such as San Franciscogeography, food and drink, hamburgers, and restaurants; “Best Places toTake Your Pet in the San Francisco,” which is associated with metadatasuch as San Francisco geography, and pets; “Best margaritas in theMission neighborhood in San Francisco,” which is associated withmetadata such as San Francisco geography, food and drink, bars,restaurants, and cocktails; and “Dog Friendly Napa Valley,” which isassociated with metadata such as Napa Valley geography, pets, dogs,hotels, food and drink, wineries, bars, and restaurants. Other examplesof metadata entities associated with activity entities can include mapcoordinates or addresses and business hours.

Step 815 presents a metadata collector to a user. Embodiments of step815 may present metadata collectors within any of the applicationsdescribed above or using an additional metadata collection application.

Some or all of the users viewing or otherwise perceiving a metadatacollector may choose to interact with the metadata collection. In anembodiment, users may interact with a metadata collector by adding anactivity entity, rate activity entities added by other users to themetadata collector, or otherwise interact with a previously addedactivity entity, for example by indicating that they have completed orwould like to complete the activity defined by the activity entity.

Step 820 receives the user interactions with the metadata collector.Based on the types and quantity of interactions, step 825 associates themetadata elements associated with the metadata collector with some orall of the users, activity entities, and/or other data entities includedin the user interactions with the metadata collector.

For example, if a user adds a park activity entity to the surveymetadata collector “Best Places to Take Your Pet in the San Francisco,”this park activity entity may be associated with the metadata elementsSan Francisco geography and pets. Additionally, the user adding thispark activity entity may also be associated with these metadata elementsSan Francisco geography and pets. Furthermore, subsequent users thatfavorably rate this park activity entity in the survey metadatacollector may also be associated with these metadata elements SanFrancisco geography and pets. The users and activity entities associatedwith these metadata elements may then be accessed via their metadataelements, independently of the metadata collector.

In an embodiment, step 825 may employ various algorithms or heuristicsto determine when a user, activity entity, expression, or other dataentity inherits or is assigned a metadata element from an associatedmetadata collector. For example, any activity entity added to a metadatacollector may automatically inherit the metadata elements associatedwith the metadata collector. In another example, a number of users mayhave to favorably rate the activity entity before it inherits metadataelements from a metadata collector. In still a further example, aweighting scheme based on the reputations or expertise of the useradding an activity entity, the reputations or expertise of users ratingthe activity entity, the number of users rating the activity entity,and/or the type of metadata element may be used to determine whether theactivity entity inherits metadata elements from the metadata collector.

In yet another example, data entities such as user profiles and activityentities have weighted associations with metadata elements from metadatacollectors. The data entities' weighted associations with metadataelements are modified based on factors including the reputations orexpertise of the users adding an activity entity, the reputations orexpertise of users rating the activity entity, the ratings assigned byusers to activity entities, the number of users rating the activityentity, and/or the type of metadata element.

In an embodiment, users may provide positive weightings, increasing theassociation between a data entity and a metadata element, or a negativeweighting, decreasing or potentially eliminating the association betweena data entity and a metadata element. For example, a user may rate anactivity entity poorly with respect to a metadata collector, indicatingthat this activity entity does not match a metadata collector and shouldnot be assigned metadata elements from this metadata collector. Forexample, an activity entity associated with a corner hot dog stand maynot belong in a metadata collector for “fine French dining” By allowingusers to implicitly or explicitly provide negative associationweightings, accidental or malicious misassociation of metadata elementsis prevented.

When the weighted association with a metadata element reaches athreshold or satisfies some other criteria, the system considers thedata entity to be fully associated and accessible via the metadataelement. Otherwise, the metadata element is considered unassociated orweakly associated with the data entity. In an embodiment, the factorsand criteria used to evaluate user activity and determine metadataelement associations may be specified globally by the system and/orlocally in association with a metadata collector or a data entity. Forexample, a metadata collector may include some or all of the criteriaand factors used to assign metadata elements. In another example, a dataentity, such as an activity entity or metadata element, may include someor all of the criteria and factors used to assign metadata elements.

In another example, metadata collectors may cumulatively modify theassociation weight of a metadata element with a data entity. Forexample, if a user adds a first activity entity to a first metadatacollector associated with a “San Francisco” metadata element, the user'sprofile may be weakly associated with this metadata element. If the userlater adds another activity entity to the same metadata collector or adifferent metadata collector also associated with this “San Francisco”metadata element, the user profile's weighted association with thismetadata element will be strengthened.

Embodiments of the invention that implicitly associate metadata withdata entities according to user behavior encourage user participation byproviding an outlet for self-expression. This allows metadata elementsto be generated by users that would never directly create content ormanually associate data entities with metadata elements. Moreover,because embodiments of the invention allow system administrators tospecify metadata collectors, associated metadata elements, and metadataelement association factors and criteria, metadata associations are moreconsistent than metadata elements directly assigned by users.Furthermore, system administrators can use metadata collectors to gatherspecific types of metadata. For example, metadata collectors can becreated to gather metadata in areas of interest to advertisers.

As described above, discovery applications enable users to identifyusers sharing similar interests. FIG. 9 illustrates an example indicator900 comparing user interests according to an embodiment of theinvention. Indicator 900 presents a view or icon representing two userprofiles 905 a and 905 b. Below each of the user icons 905, a bar graphor other indicator represents a user's score in that area or category,relative to the other user. For example, indicator 900 includes anaggregate score category 910. Users 905 a and 905 b relative scores inthis category are represented by indicators 912 a and 912 b,respectively.

Additionally, indicator 900 includes a nightlife score category 915.Users 905 a and 905 b relative scores in this category are representedby indicators 917 a and 917 b, respectively. Indicator 900 includes amusic score category 920. Users 905 a and 905 b relative scores in thiscategory arc represented by indicators 922 a and 922 b, respectively.Indicator 900 includes a food score category 925. Users 905 a and 905 brelative scores in this category are represented by indicators 927 a and927 b, respectively.

FIG. 10 illustrates an example identity mosaic badge 1000 illustratinguser interests according to an embodiment of the invention. Identitymosaic badge 1000 presents user interests in the form of a photographicmosaic. A photographic mosaic is created from a primary image that hasbeen partitioned into a number of sections. The average color or otherimage characteristics of each section of the primary image is matchedwith a sub-image. The photographic mosaic replaces each image section ofa primary image with its matching sub-image. When viewed from a distanceor at low magnification, each sub-image in the photographic mosaicappears to be equivalent to a pixel in the primary image. Thus, from adistance, the primary image is apparent to users. At close distances orhigh magnification, the contents of sub-images are easily discernable.

Identity mosaic badge 1000 includes a primary image 1002. Primary image1002 may be a user profile photograph or image provided or selected by auser, or any other image or photograph associated with a user profile.In this example, primary image 1002 is partitioned into a plurality ofimage sections 1005, including image sections 1005 a, 1005 b, 1005 c,and 1005 d. Image sections 1005 may be the same size and shape ordifferent sizes and/or shapes.

In an embodiment, at least a portion of the image sections 1005 areassociated with a sub-image representing a user interest. For example,image section 1005 c is associated with sub-image 1010 a representing aninterest in tennis and image section 1005 d is associated with asub-image 1010 b representing an interest in cars. In this embodiment,sub-images are associated with image sections based on similarities incolor or other image characteristics, such that the set of sub-imagesforms a photographic mosaic of the primary image 1002.

An embodiment of the system generates the identity mosaic badgeautomatically or semi-automatically. In this embodiment, a pool ofcandidate sub-images is identified by searching for images with metadataelements matching or related to metadata elements associated with theuser's profile. In a further embodiment, user's may add or excludemetadata elements or specific images from the pool of candidatesub-images.

After the pool of candidate sub-images is identified, a photographicmosaic is created from all or a portion of the pool of candidatesub-images using any photographic mosaic technique known in the art.Example photographic mosaic techniques are described in U.S. Pat. No.6,137,498, issued to Silvers on Oct. 24, 2000; and in the open-sourcesoftware application Metapixel, both of which are incorporated byreference herein.

The resulting photographic mosaic forms an identity mosaic badge. In anembodiment, the identity mosaic badge 1000 is interactive. Users mayzoom into all or a portion of the identity mosaic badge 1000 to viewindividual sub-images in detail or zoom out to view the photographicmosaic representing the primary image. In a further embodiment, usersmay select a sub-image in an identity mosaic badge 1000 to learn aboutthe user interest or activities associated with this sub-image. In thisembodiment, a sub-image is associated with one or more metadataelements, derived from the metadata elements used to select thissub-image as a candidate sub-image. Selecting a sub-image retrieves dataentities associated with this metadata and optionally further associatedwith the user profile. This interactive view of the identity mosaicbadge 1000 allows other users to learn about another user's interestsand accomplishments. It also lets other users learn more aboutactivities.

FIG. 11 illustrates an example system architecture 1100 suitable forimplementing an embodiment of the invention. The system 1100 includesuser computers 1105 including portable and desktop personal computers1105 a and 1105 b, personal digital assistants 1105 c, smartphones 1105d, and mobile phones 1105 e. The system 1100 can interface with any typeof electronic device, such as a thin-client computer, Internet-enabledmobile telephone, mobile Internet access device, electronic book, orpersonal digital assistant, capable of displaying and navigating webpages or other types of electronic documents. Although system 1100 isshown with five user computers, any number of user computers can besupported.

A web server 1110 is used to process requests from web browsers andstandalone applications for web pages, electronic documents, socialmedia networking service content, and other data from the usercomputers. The web server 1110 may also provide syndicated content, suchas RSS or Atom feeds, of data related to user profiles, bookmarkedactivity entities, completed activity entities, expressions, expressionrecognitions, badges, leaderboards, group discussions, usercommunications, or any other content of the social media networkingservice.

Application server 1115 operates one or more data applications. The dataapplications can be implemented as one or more scripts or programswritten in any programming language, such as Java, C, C++, C#, or anyscripting language, such as JavaScript or ECMAScript, Perl, PHP, Python,Ruby, or TCL. Data applications can be built using libraries orapplication frameworks, such as Rails or .NET.

The data applications on application server 1115 process input data anduser computer requests and can store or retrieve data from database1120. Database 1120 stores data created and used by the enterprise. Inan embodiment, the database 1120 is a relational database, such asMySQL, that is adapted to store, update, and retrieve data in responseto SQL format commands.

In an embodiment, the application server 1115 is one or more generalpurpose computers capable of executing programs or scripts. In anembodiment, the web server 1110 is implemented as an application runningon one or more general purpose computers. The web server 1110 andapplication server 1115 may be combined and executed on the samecomputers.

An electronic communication network 1125 enables communication betweenuser computers 1105, web server 1110, application server 1115, anddatabase 1120. In an embodiment, network 1125 may further include anyform of electrical or optical communication devices, including wireless1130 and wired networks. Network 1125 may also incorporate one or morelocal-area networks, such as an Ethernet network; wide-area networks,such as the Internet and cellular carrier data networks; and virtualnetworks, such as a virtual private network.

The system 1100 is one example for executing data applications accordingto an embodiment of the invention. In another embodiment, applicationserver 1115, web server 1110, and optionally database 1120 can becombined into a single server computer application in system 1100. Inalternate embodiment, all or a portion of the web server 1110 andapplication 1115 functions may be integrated into an application runningon each of the user computers 1105. For example, a JavaScriptapplication on the user computer 1105 may be used to retrieve or analyzedata and display portions of the applications.

FIG. 12 illustrates an example computer system suitable for use with anembodiment of the invention. Computer system 1200 typically includes oneor more output devices 1210, including display devices such as a CRT,LCD, OLED, LED, gas plasma, electronic ink, or other types of displays,speakers and other audio output devices; and haptic output devices suchas vibrating actuators; computer 1220; a keyboard 1230; input devices1240; and a network interface 1250. Input devices 1240 can include acomputer mouse, a trackball, joystick, track pad, graphics tablet, touchscreen, microphone, various sensors, and/or other wired or wirelessinput devices that allow a user or the environment to interact withcomputer system 1200. Embodiments of network interface 1250 typicallyprovides wired or wireless communication with an electroniccommunications network, such as a local area network, a wide areanetwork, for example the Internet, and/or virtual networks, for examplea virtual private network (VPN). Network interface 1250 can implementone or more wired or wireless networking technologies, includingEthernet, one or more of the 802.11 standards, Bluetooth, andultra-wideband networking technologies.

Computer 1220 typically includes components such as one or more generalpurpose processors 1260, and memory storage devices, such as a randomaccess memory (RAM) 1270 and non-volatile memory 1280. Non-volatilememory 1280 can include floppy disks; fixed or removable hard disks;optical storage media such as DVD-ROM, CD-ROM, and bar codes;non-volatile semiconductor memory devices such as flash memories;read-only-memories (ROMS); battery-backed volatile memories; paper orother printing mediums; and networked storage devices. System bus 1290interconnects the above components. Processors 1260 can includeembodiments of the above described processors, such as processors 100,150, and 400.

RAM 1270 and non-volatile memory 1280 are examples of tangible media forstorage of data, audio/video files, computer programs, appletinterpreters or compilers, virtual machines, and embodiments of theherein described invention.

Further embodiments can be envisioned to one of ordinary skill in theart from the specification and figures. In other embodiments,combinations or sub-combinations of the above disclosed invention can beadvantageously made. The block diagrams of the architecture and flowcharts are grouped for ease of understanding. However it should beunderstood that combinations of blocks, additions of new blocks,re-arrangement of blocks, and the like are contemplated in alternativeembodiments of the present invention. The specification and drawingsare, accordingly, to be regarded in an illustrative rather than arestrictive sense. It will, however, be evident that variousmodifications and changes may be made thereunto without departing fromthe broader spirit and scope of the invention as set forth in theclaims.

1.-23. (canceled)
 24. A method for providing an identity mosaicillustrating user interests of a social network user, the methodcomprising: receiving a primary image provided by a user of a socialnetwork; partitioning the primary image into a plurality of imagesections; identifying a plurality of candidate sub-images, eachcandidate sub-image associated with one or more metadata elementsindicating one or more user interests of the user of the social network;selecting a plurality of replacement sub-images from the plurality ofcandidate sub-images; generating an identity mosaic by replacing one ormore image sections of the plurality of image sections with theplurality of replacement sub-images such that each replacement sub-imageof the plurality of replacement sub-images corresponds to a definednumber of pixels in a low magnification view of the identity mosaic; andcausing transmission of the identity mosaic to a social network accountassociated with the user.
 25. The method of claim 24, wherein thedefined number of pixels is one, such that each replacement sub-image ofthe plurality of replacement sub-images corresponds to one pixel in thelow magnification view of the identity mosaic.
 26. The method of claim24, wherein the primary image is an image associated with a user profileof the user of the social network.
 27. The method of claim 24, whereineach of the defined number of pixels that corresponds to each of thereplacement sub-images in the low magnification view of the identitymosaic has a similar image characteristic to a correlated section of theprimary image.
 28. The method of claim 27, wherein the similar imagecharacteristic is an average color range of the correlated section ofthe primary image.
 29. The method of claim 24, wherein at least two ormore of the plurality of image sections are the same size and shape. 30.The method of claim 24, wherein a first image section of the pluralityof image sections is a different size and/or shape than a second imagesection of the plurality of image sections.
 31. The method of claim 24,wherein identifying a plurality of candidate sub-images comprises:receiving one or more metadata elements associated with a social networkprofile of the user; querying an image repository for candidatesub-images associated with at least one of the one or more metadataelements associated with the social network profile of the user; andreceiving the plurality of candidate sub-images returned by the query.32. The method of claim 24, the method further comprising: receiving aselection of one or more unwanted metadata elements indicating one ormore user interests of the user of the social network to be excludedfrom the identity mosaic; and excluding one or more candidate sub-imagesassociated with the one or more unwanted metadata elements.
 33. Themethod of claim 24, the method further comprising: receiving a selectionof one or more unwanted sub-images; and excluding the one or moreunwanted sub-images from the identity mosaic.
 34. The method of claim24, the method further comprising: receiving a selection of one or moreof the replacement sub-images; and retrieving data entities associatedwith the one or more metadata elements associated with the selected oneor more replacement sub-images.
 35. An apparatus for providing anidentity mosaic illustrating user interests of a social network user,the apparatus comprising a processor and a memory, the memory storingone or more programs that, when executed by the processor, causes theapparatus to: receive a primary image provided by a user of a socialnetwork; partition the primary image into a plurality of image sections;identify a plurality of candidate sub-images, each candidate sub-imageassociated with one or more metadata elements indicating one or moreuser interests of the user of the social network; select a plurality ofreplacement sub-images from the plurality of candidate sub-images;generate an identity mosaic by replacing one or more image sections ofthe plurality of image sections with the plurality of replacementsub-images such that each replacement sub-image of the plurality ofreplacement sub-images corresponds to a defined number of pixels in alow magnification view of the identity mosaic; and cause delivery, tothe user, of the identity mosaic.
 36. The apparatus of claim 35, whereinthe defined number of pixels is one, such that each replacementsub-image of the plurality of replacement sub-images corresponds to onepixel in the low magnification view of the identity mosaic.
 37. Theapparatus of claim 35, wherein the primary image is an image associatedwith a user profile of the user of the social network.
 38. The apparatusof claim 35, wherein each of the defined number of pixels thatcorresponds to each of the replacement sub-images in the lowmagnification view of the identity mosaic has a similar imagecharacteristic to a correlated section of the primary image.
 39. Theapparatus of claim 38, wherein the similar image characteristic includesan average color of the correlated section of the primary image.
 40. Theapparatus of claim 35, wherein at least two or more of the plurality ofimage sections are the same size and shape.
 41. The apparatus of claim35, wherein a first image section of the plurality of image sections isa different size or shape than a second image section of the pluralityof image sections.
 42. The apparatus of claim 35, wherein identifying aplurality of candidate sub-images comprises: receiving one or moremetadata elements associated with a social network profile of the user;querying an image repository for candidate sub-images associated with atleast one of the one or more metadata elements associated with thesocial network profile of the user; and receiving the plurality ofcandidate sub-images returned by the query.
 43. The apparatus of claim35, wherein the one or more programs, when executed by the processor,further cause the apparatus to: receive a selection of one or moreunwanted metadata elements indicating one or more user interests of theuser of the social network to be excluded from the identity mosaic; andexclude one or more candidate sub-images associated with the one or moreunwanted metadata elements.
 44. The apparatus of claim 35, wherein theone or more programs, when executed by the processor, further cause theapparatus to: receive a selection of one or more unwanted sub-images;and exclude the one or more unwanted sub-images from the identitymosaic.
 45. The apparatus of claim 35, wherein the one or more programs,when executed by the processor, further cause the apparatus to: receivea selection of one or more of the replacement sub-images; and retrievedata entities associated with the one or more metadata elementsassociated with the selected one or more replacement sub-images.